declare global {
  interface Window {
    requirejs:any
  }
}
const jsLoader = (deps)=>{
  return new Promise((resolve, reject) => {

  window.requirejs(
      deps,
      (...loadModule: any) => {
        // setJsLoading(false)
        // let jsModule = typeof module === 'object' && loadModule.default ? loadModule.default : loadModule;
        
        resolve(loadModule);
     
      },
      (err: string) => {
        
        // setJsLoading(false)
        reject(err)
        console.error('micro app loading failed:', err);
        //  if(load404){
        //      const jsUrl = joinUrl(publicPath, `/pages/404.js`);
        //      return jsLoader(jsUrl,publicPath,false).then(resolve)
        //  }else{
        //    reject()
        //  }
      },
    );
  });
}
export default jsLoader